package com.kasinf.sample.protect.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;

/**
 * 交换公钥请求体
 *
 * @author lkhsh
 * @date 2024-11-15
 */
@Data
@Schema(title = "交换公钥实体")
@FieldDefaults(level = AccessLevel.PRIVATE)
public class SessionExchangeVO {

    @NotBlank(message = "publicKey参数不能为空")
    @Schema(title = "用后端RSA/SM2 PublicKey加密的前端RSA/SM2 PublicKey")
    private String publicKey;

    @Schema(title = "未登录前端身份标识")
    private String sessionId;

    @NotBlank(message = "客户端ID不能为空")
    @Schema(title = "客户端ID")
    private String clientId;

    @NotBlank(message = "客户端秘钥不能为空")
    @Schema(title = "客户端秘钥")
    private String clientSecret;
}
